#ifndef __TASKMANAGE__
#define __TASKMANAGE__

#include <iostream>
#include <vector>
#include <ctime>
typedef void (*task_t)();

void PrintLog()
{
    std::cout<<"我是一个打印日志的任务"<<std::endl;
}
void UpLoad()
{
    std::cout<<"我是一个上传的任务"<<std::endl;
}
void DownLoad()
{
    std::cout<<"我是一个下载的任务"<<std::endl;
}
class TaskManage
{
public:
    //产生任务码
    int Taskcode()
    {
        return rand() % _Task.size();
    }
    void Executable(int code)
    {
        if(code>=0&&code<_Task.size())
        {
            _Task[code]();
        }
    }
    void Push(task_t t)
    {
        _Task.push_back(t);
    }
    TaskManage(){srand(time(nullptr));}
    ~TaskManage(){}
private:
    std::vector<task_t> _Task;
};

#endif